package gsp420.game;

public class Rules
{
	/**
	 * how big each tile is (length and width) <code><br>
	 * #.# #.# ###<br>
	 * #.. #.# #..<br>
	 * #.# #.# #.#<br>
	 * </code>
	 */
	public static final int TILE_SIZE = 3;
	public static final char[][][] TILE_MAP = {
	{ 
		{ '#', '.', '#' }, 
		{ '#', '.', '#' }, 
		{ '#', '.', '#' }, },
	{ 
		{ '#', '#', '#' }, 
		{ '#', '.', '.' }, 
		{ '#', '.', '#' }, },
	{ 
		{ '#', '.', '#' }, 
		{ '#', '.', '.' }, 
		{ '#', '.', '#' }, },
	{ 
		{ ' ', ' ', ' ' }, 
		{ ' ', '.', ' ' }, 
		{ ' ', ' ', ' ' }, 
		} };
	public static final int[] TILE_AMOUNT = {12, 16, 6};

	static final int LINE = 0, CORNER = 1, T = 2, BLANK = 3;
	/** how many tiles squared the board is */
	public static final int BOARD_SIZE = 7;
	
	private static int _ = -1;
	// each cell in the rule set has 2 values,
	// [0]: the init tile
	// [1]: the number of CW rotations
	// cells with -1,-1 are to be shifted, and populated randomly
	public static int[][][] startingRules = {
		{ {1,0}, {_,_}, {2,1}, {_,_}, {2,1}, {_,_}, {1,1}, },
		{ {_,_}, {_,_}, {_,_}, {_,_}, {_,_}, {_,_}, {_,_}, },
		{ {2,0}, {_,_}, {2,0}, {_,_}, {2,1}, {_,_}, {2,2}, },
		{ {_,_}, {_,_}, {_,_}, {_,_}, {_,_}, {_,_}, {_,_}, },
		{ {2,0}, {_,_}, {2,3}, {_,_}, {2,2}, {_,_}, {2,2}, },
		{ {_,_}, {_,_}, {_,_}, {_,_}, {_,_}, {_,_}, {_,_}, },
		{ {1,3}, {_,_}, {2,3}, {_,_}, {2,3}, {_,_}, {1,2}, },
	};
}
